package com.ity.teamanagement.service;

import com.ity.teamanagement.entity.SysUrl;
import com.ity.teamanagement.entity.Systems;
import com.ity.teamanagement.entity.inputParam.*;
import com.ity.teamanagement.result.Result;

import java.util.List;

/**
 * @author coderFu
 * @create 2021/6/5
 */
public interface SystemConfigService {

    /**
     * 后台查询URL路径内容
     * @return
     */
    void findQrCodeUrl();

    /**
     * 查询所有二维码路径配置信息
     * @return
     */
    List<SysUrl> findAllUrlConfig();

    /**
     * 根据id修改二维码配置路径信息
     * @param sysUrlParam
     */
    void updateUrlConfigById(SysUrlParam sysUrlParam);

    /**
     * 根据id删除二维码配置信息
     * @param ids
     */
    void deleteUrlConfigByIds(List<Long> ids);

    /**
     * 添加二维码配置信息
     * @param sysUrlParam
     */
    void addQrCodeUrl(SysUrlParam sysUrlParam);

    /**
     * 设置当前配置为使用配置
     * @param id
     */
    void settingQrCodeUrl(Long id);

    /**
     * 查询当前系统前台开发状态
     * @return
     */
    Systems checkOpenStatus();

    /**
     * 关闭前台展示
     */
    void closeReceptionShow();

    /**
     * 开启前台展示
     */
    void openReceptionShow();

    /**
     * 后台添加展示模块
     * @param addHomeModuleParam
     * @return
     */
    Result addHomeModule(AddHomeModuleParam addHomeModuleParam);

    /**
     * 后台删除首页模块
     * @param deleteHomeModuleParam
     * @return
     */
    Result deleteHomeModule(DeleteHomeModuleParam deleteHomeModuleParam);

    /**
     * 后台修改首页模块信息
     * @param updateHomeModuleParam
     * @return
     */
    Result updateHomeModule(UpdateHomeModuleParam updateHomeModuleParam);

    /**
     * 获取前台模块信息
     * @return
     */
    Result getHomeModule();

    /**
     * 新增底部导航
     * @param addDownNavigationParam
     * @return
     */
    Result addDownNavigation(AddDownNavigationParam addDownNavigationParam);

    /**
     * 根据导航id删除导航
     * @param deleteDownNavigationParam
     * @return
     */
    Result deleteDownNavigation(DeleteDownNavigationParam deleteDownNavigationParam);

    /**
     * 根据导航id更新导航信息
     * @param updateDownNavigationParam
     * @return
     */
    Result updateDownNavigation(UpdateDownNavigationParam updateDownNavigationParam);

    /**
     * 获取底部导航信息
     * @return
     */
    Result getDownNavigation();

    /**
     * 根据底部导航id查询导航信息
     * @param selectDownNavigationParam
     * @return
     */
    Result getDownNavigationById(SelectDownNavigationParam selectDownNavigationParam);

    /**
     * 根据首页模块id查询模块信息
     * @param selectHomeModuleParam
     * @return
     */
    Result getHomeModuleById(SelectHomeModuleParam selectHomeModuleParam);
}
